#ifndef STANDARD_THREAD_H
#define STANDARD_THREAD_H

#include <memory>
#include <thread>

class TaskPool;

class StandardThread
{
public:
    StandardThread(std::shared_ptr<TaskPool> tasks);
    virtual ~StandardThread();

    void start();

protected:
    virtual void run();

private:
    bool m_stopping;
    std::shared_ptr<std::thread> m_thread;
    std::shared_ptr<TaskPool> m_tasks;
};

#endif // STANDARD_THREAD_H


